<?php

namespace app\utils;

use app\components\queue\rabbitmq\Queue;

class QueueUtil {

    /**
     * 群发消息
     * @param integer $msg_type 消息类型
     * @param integer $event_type 事件类型
     * @param mixed $data 数据包
     * @param Queue $queue 队列对象
     * @return bool
     * @throws \yii\base\InvalidConfigException
     */
    public static function fanout($msg_type,$event_type,$data,Queue $queue=null){
        if(!$queue){
            /**
             * @var Queue $queue
             */
            $queue = \Yii::$app->get("task_queue");
        }

        return $queue->push([
            'msg_type'=>$msg_type,
            'event_type'=>$event_type,
            'data'=>$data
        ]) !== null;
    }
}